home *** CD-ROM | disk | FTP | other *** search
- 10 ;BAM 3
- 20 TRKLP LDA #$00
- 30 STA CTR;COUNTER NUMBER OF TRACKS
- 40 LDA #$04;HIGH BYTE OF SCREEN ADDRESS
- 50 STA ML2+2
- 60 LDA #$D8;HIGH BYTE COLOR RAM
- 70 STA CLR+2
- 80 ;
- 90 INC TRK;EQUALS #$01 FIRST TIME
- 100 LDA TRK
- 110 CMP #$24;GREATER THAN #35
- 120 BCC ML;TRACK # OK (null) ON
- 130 JMP END;FINISHED
- 140 ;
- 150 ML STA ML2+1;LOW BYTE OF SCREEN = TRACK
- 160 STA CLR+1
- 170 JSR SECTOR;CALCULATE # OF SECS ON THIS TRK
- 180 INC CTR1;SKIP 1ST BYTE BAM MAP # OF SECS
- 190 SECLP LDY CTR1
- 200 LDA BAMBUF,Y;BAM MAP FROM 1541
- 210 ;
- 220 ;1541 DOS STORES SECTOR AVAILABILITY
- 230 ;IN REVERSE 21 20 19 ETC.
- 240 ;
- 250 JSR REV;REVERSE BITS IN BYTE
- 260 ;
- 270 JSR BI;CONVERT TO 8 BINARY BITS
- 280 ;
- 290 LDY #$00
- 300 ML3 LDA BITS,Y
- 310 ML2 STA $0400;PUT BITS IN SCREEN MEMORY
- 320 LDA #$05;COLOR GREEN
- 330 CLR STA $D800
- 340 DEC SEC;SECTOR COUNTER
- 350 LDA SEC
- 360 BNE ML4;IF 0 ALL SECTORS PLACED
- 370 INC CTR1;COUNTER # OF TRACKS
- 380 JMP TRKLP
- 390 ML4 CLC; ADD TO SCREEN ADDRESS FOR PROPER COLUMN
- 400 LDA ML2+1;LOW BYTE SCREEN ADDRESS
- 410 ADC #$28
- 420 STA ML2+1
- 430 LDA ML2+2
- 440 ADC #$00
- 450 STA ML2+2;HIGH BYTE SCREEN ADDRESS
- 460 CLC
- 470 LDA CLR+1
- 480 ADC #$28
- 490 STA CLR+1
- 500 LDA CLR+2
- 510 ADC #$00
- 520 STA CLR+2
- 530 INY
- 540 CPY #$08;NUMBER OF BITS DISPLAYED
- 550 BNE ML3
- 560 INC CTR; EACH TRACK USES 3 BYTES IN BAM MAP
- 570 LDA CTR
- 580 CMP #$03
- 590 BEQ TRKLP
- 600 INC CTR1;SKIP SECTORS BYTE NEXT TRACK
- 610 JMP SECLP
- 620 END JSR GET;WAIT FOR ANY KEY TO BE PRESSED
- 630 BEQ END
- 640 LDA #$93
- 650 JSR PRINT
- 660 JMP ($A002)
- 670 .FILE BAM 4
-